<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>boarsoft.com</title>
<meta name="description" content="Java 分布式 技术平台 JQuery插件" />
<meta name="keywords" content="Java 分布式 JQuery 插件" />
<meta property="wb:webmaster" content="825b15283f367055" />
<meta property="qc:admins" content="7653706777627123764637571645060454" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="google-site-verification" content="yaeorbXgKPwp5BDegBtAJEHYWFEFE-BViWTj74gJPrw" />
<!--  -->
<link href="/css/default.css" type="text/css" rel="stylesheet" />
<!--  -->
<script type="text/javascript" src="/js/jquery.js"></script>
<script type="text/javascript" src="/lang/en.js"></script>
<script type="text/javascript" src="/js/mac/core.min.js"></script>
<script type="text/javascript">
$(function(){
	function adjust(){
		var de = document.documentElement
			, ch = de.clientHeight, cw = de.clientWidth;
		$('#body').width(cw - 16);
	}
	$(window).resize(adjust);
	adjust();
});
</script>
</head>
<body>
<div id="head">
	<a href="/en/"><img src="/css/default/images/logo_s.png" alt="logo" /></a>
	<div class="title">BOARSOFT.COM</div>
	<div class="right">
		<div>
			<a href="/public/lang.php?l=en">English</a>
			|
			<a href="/public/lang.php?l=cn">简体中文</a>
			|
			<a href="http://activemq.apache.org/" target="_blank">ActiveMQ</a>
			|
			<a href="https://redis.io/" target="_blank">Redis</a>
			|
			<a href="http://www.jquery.com/" target="_blank">JQuery</a>
		</div>
	</div>
</div>
<div id="body">
	<div class="dir">
<h1>Site navigation</h1>
<hr />
<h2>Java应用基础组件</h2>
<ul>
	<li><a href="./index.html#mac/rpc">mac-rpc 远程方法调用框架</a></li>
	<li><a href="./index.html#mac/flow">mac-flow 流程引擎</a></li>
	<li><a href="./index.html#mac/message">mac-messaeg 消息中间件</a></li>
	<li><a href="./index.html#mac/cache">mac-cache 缓存组件</a></li>
	<li title="建设中..."><a href="./index.html#mac/log"></a>mac-log 日志组件</li>
	<li title="建设中..."><a href="./index.html#mac/sharding"></a>mac-sharding 分库分表中间件</li>
</ul>
<h2>Javascript框架与组件</h2>
<ul>
	<li><a href="./index.html#js/combo">JQuery MagicCombo Plugin</a></li>
	<li><a href="./index.html#js/grid">JQuery MagicGrid Plugin</a></li>
	<li><a href="./index.html#js/tabs">JQuery MagicTabs Plugin</a></li>
	<li><a href="./index.html#js/dialog">JQuery MagicDialog Plugin</a></li>
	<li><a href="./index.html#js/menu">JQuery MagicMenu Plugin</a></li>
	<li><a href="./index.html#js/dtree">JQuery MagicDTree Plugin</a></li>
	<li title="建设中..."><a href="./index.html#js/web"></a>前端JS框架</li>
</ul>
<h2>其它</h2>
<ul>
	<li><a href="./logs.html">更新日志</a></li>
	<li><a href="./download.html">下载页</a></li>
	<li><a href="javascript:alert('不知道该怎么介绍，加我QQ吧:7213571')">关于作者</a></li>
	<li><a href="./thanks.html">鸣谢</a></li>
</ul>	</div>
	<div class="main">
<h1>Java应用基础组件</h1>
<p>
&nbsp;&nbsp;基于Java开发的一套基础组件，用于构建分布式技术平台。包括：RPC（远程方法调用）、流程引擎、消息中间件、缓存中间件，及其与这些组件是配套的监控系统、后台管理系统等<br/>
&nbsp;&nbsp;在这些组件和配套系统的基础上，已成功构建并上线运行了诸如：消息中心、自动化部署、开放平台、服务治理、积分系统等上层应用。
</p>
<h2><a name="mac/rpc" href="/en/mac/rpc">MAC-RPC 远程方法调用组件</a></h2>
<p>
&nbsp;&nbsp;mac-rpc（Magic Remote Procedure Call）是基于Java AIO开发的一套远程方法调用框架，类似阿里的Dubbo，与之相比有以下优点。
</p>
<ol>
	<li>全异步机制（从传输层开始），支持：异步调用，异步通知，同步通知，异步回调。</li>
	<li>支持：同步广播，异步广播，广播通知。</li>
	<li>精心设计的底层通讯，传输性能更好，阻塞少，可以传输较大的数据。</li>
	<li>线程利用率更高，性能更优。</li>
	<li>轻便小巧，API设计简洁，易于使用。</li>
	<li>任意节点均可作为注册中心</li>
	<li>内置监控与服务治理接口。</li>
	<li>提供可定制的管控功能。</li>
</ol>
<h2><a name="mac/flow" href="/en/mac/flow">MAC-FLOW 流程引擎组件</a></h2>
<p>&nbsp;&nbsp;mac-flow（Magic Flow Engine）是用Java开发的一款小巧精悍的流程引擎。具有以下优点：</p>
<ol>
	<li>完全符合自然的编程思路，且无专门的标签需要学习，易于掌握。</li>
	<li>设计简洁，性能零损耗。</li>
	<li>扩展性强，支持二次开发。</li>
	<li>服务包装器设计，支持服务前后处理。</li>
	<li>支持流程嵌套（包括事务的嵌套等）。</li>
	<li>支持显式事务的开启、提交与自动回滚，可嵌套。</li>
	<li>支持MVEL表达式或自定义实现的条件判断分支。</li>
	<li>支持流程的挂起（暂停）与续跑，可嵌套。</li>
	<li>支持switch…case多路分支，可嵌套。</li>
	<li>支持多个try…catch…finally…yrt，可嵌套。</li>
	<li>支持循环，甚至递归！可嵌套。</li>
	<li>支持异步并行处理（并行计算），可嵌套。</li>
	<li>支持事件驱动与通知消息（挂起与续跑），可嵌套。</li>
	<li>内置冲正（反交易）支持。</li>
	<li>支持调用链跟踪。</li>
	<li>配套优秀的流程设计器。</li>
	<li>可生成流程定义或代码，可二次开发。</li>
</ol>
<h2><a name="mac/message" href="/en/mac/message">MAC-MESSAGE 消息中间件</a></h2>
<p>
&nbsp;&nbsp;mac-message（Magic Message Queue）是一套完整的消息中间件（Broker）解决方案，可兼容ActiveMQ协议（可选），与ActiveMQ的客户端无缝集成
</p>
<ol>
	<li>支持JMS协议和ActiveMQ支持的所有协议，还可直接使用mac-rpc作为客户端。</li>
	<li>支持传统的点对点和发布订阅模式</li>
	<li>支持消息在发送、接收、中转三个阶段分别持久化</li>
	<li>在设计上高效的实现了消息优先级</li>
	<li>必要与非必要收件人（可指定收件人是否必须送达）</li>
	<li>过滤与分拣插件（由插件动态决定收件人）</li>
	<li>提供基于AB复本的高可靠方案（A 节点写入，B节点发送）</li>
	<li>支持高可靠插件、签收插件</li>
	<li>支持消息事件与消息追踪</li>
	<li>提供收件人队列中断保护机制，避免过度堆积与丢失</li>
	<li>能保证消息的顺序，先发先至</li>
	<li>能保证消息不被重复发送或消费</li>
</ol>
<h2><a name="mac/cache" href="/en/mac/cache">MAC-CACHE 缓存组件</a></h2>
<p>
&nbsp;&nbsp;mac-cache（Magic Cache Support）提供对缓存中间件的封装与监控（类似Redis的哨兵），以及对应的客户端API的封装<br/>
&nbsp;&nbsp;注：目前只支持Redis/Jedis，可通过扩展以支持Memcache
</p>
<ol>
	<li>支持基于JVM和Redis的缓存</li>
	<li>支持Redis的主从模式</li>
	<li>支持基于分组和hash的水平分片</li>
	<li>支持分片内节点的主备、主从、冷备三种模式</li>
	<li>提供单独的缓存监控中心，可以完全替代哨兵</li>
	<li>集群节点状态自动检测与恢复（解决类似redis哨兵集群出现的混乱）</li>
	<li>可在读写本地缓存时自动与远程缓存同步</li>
	<li>提供数据装载机制，确保缓存与持久化存储中的数据一致，节点启动时，可从业务数据库或文件重新加载数据</li>
</ol>
<h1>Javascript 框架与组件</h1>
<!--
<h2><a name="js/web" href="/en/mac/js/web">前端JS框架</a></h2>
&nbsp;&nbsp;<a href="/mac/flow/editor" target="_blank">简化版流程编辑器在线演示</a>
<ul>
	<li>局部异步装载与卸载机制</li>
	<li>配置化的表单验证框架</li>
	<li>权限检查机制</li>
	<li>国际化支持</li>
	<li>皮肤样式支持</li>
</ul>
&nbsp;&nbsp;由于前端应用太过灵活，这里只提供构建参考，点击查看示例
<p><img src="/mac/js/web/doc/demo1.PNG" alt="图片未加载" title="JQuery web application framework" /></p>
-->
<h2><a name="js/grid" href="/en/mac/js/grid">JQuery MagicGrid Plugin</a></h2>
<p><img src="/mac/js/grid/doc/demo1.PNG" alt="图片未加载" title="JQuery MagicGrid Multi-headers demo" /></p>
<h2><a name="js/tabs" href="/en/mac/js/tabs">JQuery MagicTabs Plugin</a></h2>
<p><img src="/mac/js/tabs/doc/demo1.PNG" alt="图片未加载" title="JQuery MagicTabs Custom Style" /></p>
<h2><a name="js/combo" href="/en/mac/js/combo">JQuery MagicCombo Plugin</a></h2>
<p><img src="/mac/js/combo/doc/demo1.PNG" alt="图片未加载" title="JQuery MagicCombo Custom style demo" /></p>
<h2><a name="js/dialog" href="/en/mac/js/dialog/index.html">JQuery MagicDialog Plugin</a></h2>
<p><img src="/mac/js/dialog/doc/demo1.PNG" alt="图片未加载" title="JQuery MagicDialog Basic demo"" /></p>
<h2><a name="js/menu" href="/en/mac/js/menu/index.html">JQuery MagicMenu Plugin</a></h2>
<p><img src="/mac/js/menu/doc/demo1.PNG" alt="图片未加载" title="JQuery MagicMenu Basic demo" /></p>
<h2><a name="js/dtree" href="/en/mac/js/dtree/index.html">JQuery MagicDTree Plugin</a></h2>
<p><img src="/mac/js/dtree/doc/demo1.PNG" alt="图片未加载" title="JQuery MagicDialog Basic demo"" /></p>
	</div>
</div>

<div class="clear" style="height: 1px; background-color: #CCC;"></div>
<div id="foot">
Copyright © 2011. All rights reserved&nbsp;&nbsp;蜀ICP备11014774号-1&nbsp;&nbsp;
QQ: 7213571&nbsp;&nbsp;E-mail: pyh_jerry@163.com&nbsp;&nbsp;
<!-- 
<script type="text/javascript">
var _bdhmProtocol = (("https:" == document.location.protocol) ? " https://" : " http://");
document.write(unescape("%3Cscript src='" + _bdhmProtocol + "hm.baidu.com/h.js%3Ffc0b0282216be3d16055855d8c0e72d9' type='text/javascript'%3E%3C/script%3E"));
</script>
&nbsp;&nbsp;
 -->
</div>
</body>
</html>
